[INFO] fetching crate libraft 0.1.1...
[INFO] checking libraft-0.1.1 against master#c0bb140a37c81cf59a0b40c21c9413059644e294 for pr-129249-1
[INFO] extracting crate libraft 0.1.1 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate libraft 0.1.1
[INFO] finished tweaking crates.io crate libraft 0.1.1
[INFO] tweaked toml for crates.io crate libraft 0.1.1 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate libraft 0.1.1 on toolchain c0bb140a37c81cf59a0b40c21c9413059644e294
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c0bb140a37c81cf59a0b40c21c9413059644e294" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c0bb140a37c81cf59a0b40c21c9413059644e294" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 13 packages to latest compatible versions
[INFO] [stderr]       Adding protobuf v1.7.5 (available: v3.7.2)
[INFO] [stderr]       Adding quick-error v1.2.3 (available: v2.0.1)
[INFO] [stderr]       Adding rand v0.5.6 (available: v0.10.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c0bb140a37c81cf59a0b40c21c9413059644e294" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `libraft` (manifest) generated 1 warning
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded protobuf v1.7.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 87dd65581d1bf86bee6ff1221b73e7fdd6e59c52e75b0b9f088d6015f8be58b9
[INFO] running `Command { std: "docker" "start" "87dd65581d1bf86bee6ff1221b73e7fdd6e59c52e75b0b9f088d6015f8be58b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "87dd65581d1bf86bee6ff1221b73e7fdd6e59c52e75b0b9f088d6015f8be58b9" "/opt/rustwide/cargo-home/bin/cargo" "+c0bb140a37c81cf59a0b40c21c9413059644e294" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "87dd65581d1bf86bee6ff1221b73e7fdd6e59c52e75b0b9f088d6015f8be58b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "87dd65581d1bf86bee6ff1221b73e7fdd6e59c52e75b0b9f088d6015f8be58b9" "/opt/rustwide/cargo-home/bin/cargo" "+c0bb140a37c81cf59a0b40c21c9413059644e294" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `libraft` (manifest) generated 1 warning
[INFO] [stderr]    Compiling protobuf v1.7.5
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stderr]     Checking libraft v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: lint `box_pointers` has been removed: it does not detect other kinds of allocations, and existed only for historical reasons
[INFO] [stdout]   --> src/raftpb.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | #![allow(box_pointers)]
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:70:24
[INFO] [stdout]    |
[INFO] [stdout] 70 |         Other(err: Box<error::Error + Sync + Send>) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |         Other(err: Box<dyn error::Error + Sync + Send>) {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:245:26
[INFO] [stdout]     |
[INFO] [stdout] 245 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 245 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:248:38
[INFO] [stdout]     |
[INFO] [stdout] 248 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 248 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]     |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:251:55
[INFO] [stdout]     |
[INFO] [stdout] 251 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 251 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]     |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:528:26
[INFO] [stdout]     |
[INFO] [stdout] 528 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 528 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:531:38
[INFO] [stdout]     |
[INFO] [stdout] 531 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 531 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]     |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:534:55
[INFO] [stdout]     |
[INFO] [stdout] 534 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 534 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]     |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:775:26
[INFO] [stdout]     |
[INFO] [stdout] 775 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 775 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:778:38
[INFO] [stdout]     |
[INFO] [stdout] 778 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 778 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]     |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:781:55
[INFO] [stdout]     |
[INFO] [stdout] 781 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 781 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]     |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `box_pointers` has been removed: it does not detect other kinds of allocations, and existed only for historical reasons
[INFO] [stdout]   --> src/raftpb.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | #![allow(box_pointers)]
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:999:26
[INFO] [stdout]     |
[INFO] [stdout] 999 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 999 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1002:38
[INFO] [stdout]      |
[INFO] [stdout] 1002 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1002 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1005:55
[INFO] [stdout]      |
[INFO] [stdout] 1005 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1005 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1248:26
[INFO] [stdout]      |
[INFO] [stdout] 1248 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1248 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1251:38
[INFO] [stdout]      |
[INFO] [stdout] 1251 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1251 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1254:55
[INFO] [stdout]      |
[INFO] [stdout] 1254 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1254 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1875:26
[INFO] [stdout]      |
[INFO] [stdout] 1875 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1875 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1878:38
[INFO] [stdout]      |
[INFO] [stdout] 1878 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1878 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1881:55
[INFO] [stdout]      |
[INFO] [stdout] 1881 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1881 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:2224:26
[INFO] [stdout]      |
[INFO] [stdout] 2224 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2224 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:2227:38
[INFO] [stdout]      |
[INFO] [stdout] 2227 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2227 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:2230:55
[INFO] [stdout]      |
[INFO] [stdout] 2230 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2230 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:70:24
[INFO] [stdout]    |
[INFO] [stdout] 70 |         Other(err: Box<error::Error + Sync + Send>) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |         Other(err: Box<dyn error::Error + Sync + Send>) {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:245:26
[INFO] [stdout]     |
[INFO] [stdout] 245 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 245 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:248:38
[INFO] [stdout]     |
[INFO] [stdout] 248 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 248 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]     |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:251:55
[INFO] [stdout]     |
[INFO] [stdout] 251 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 251 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]     |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:528:26
[INFO] [stdout]     |
[INFO] [stdout] 528 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 528 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:531:38
[INFO] [stdout]     |
[INFO] [stdout] 531 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 531 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]     |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:534:55
[INFO] [stdout]     |
[INFO] [stdout] 534 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 534 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]     |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:775:26
[INFO] [stdout]     |
[INFO] [stdout] 775 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 775 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:778:38
[INFO] [stdout]     |
[INFO] [stdout] 778 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 778 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]     |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:781:55
[INFO] [stdout]     |
[INFO] [stdout] 781 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 781 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]     |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:999:26
[INFO] [stdout]     |
[INFO] [stdout] 999 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 999 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1002:38
[INFO] [stdout]      |
[INFO] [stdout] 1002 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1002 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1005:55
[INFO] [stdout]      |
[INFO] [stdout] 1005 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1005 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1248:26
[INFO] [stdout]      |
[INFO] [stdout] 1248 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1248 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1251:38
[INFO] [stdout]      |
[INFO] [stdout] 1251 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1251 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1254:55
[INFO] [stdout]      |
[INFO] [stdout] 1254 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1254 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1875:26
[INFO] [stdout]      |
[INFO] [stdout] 1875 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1875 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1878:38
[INFO] [stdout]      |
[INFO] [stdout] 1878 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1878 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1881:55
[INFO] [stdout]      |
[INFO] [stdout] 1881 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1881 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:2224:26
[INFO] [stdout]      |
[INFO] [stdout] 2224 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2224 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:2227:38
[INFO] [stdout]      |
[INFO] [stdout] 2227 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2227 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:2230:55
[INFO] [stdout]      |
[INFO] [stdout] 2230 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2230 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:246:18
[INFO] [stdout]     |
[INFO] [stdout] 246 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 246 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:249:22
[INFO] [stdout]     |
[INFO] [stdout] 249 |         self as &mut ::std::any::Any
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 249 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]     |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:529:18
[INFO] [stdout]     |
[INFO] [stdout] 529 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 529 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:532:22
[INFO] [stdout]     |
[INFO] [stdout] 532 |         self as &mut ::std::any::Any
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 532 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]     |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:776:18
[INFO] [stdout]     |
[INFO] [stdout] 776 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 776 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:779:22
[INFO] [stdout]     |
[INFO] [stdout] 779 |         self as &mut ::std::any::Any
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 779 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]     |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:246:18
[INFO] [stdout]     |
[INFO] [stdout] 246 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 246 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1000:18
[INFO] [stdout]      |
[INFO] [stdout] 1000 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1000 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1003:22
[INFO] [stdout]      |
[INFO] [stdout] 1003 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1003 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:249:22
[INFO] [stdout]     |
[INFO] [stdout] 249 |         self as &mut ::std::any::Any
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 249 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]     |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1249:18
[INFO] [stdout]      |
[INFO] [stdout] 1249 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1249 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1252:22
[INFO] [stdout]      |
[INFO] [stdout] 1252 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1252 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:529:18
[INFO] [stdout]     |
[INFO] [stdout] 529 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 529 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:532:22
[INFO] [stdout]     |
[INFO] [stdout] 532 |         self as &mut ::std::any::Any
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 532 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]     |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:776:18
[INFO] [stdout]     |
[INFO] [stdout] 776 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 776 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/raftpb.rs:779:22
[INFO] [stdout]     |
[INFO] [stdout] 779 |         self as &mut ::std::any::Any
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 779 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]     |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1876:18
[INFO] [stdout]      |
[INFO] [stdout] 1876 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1876 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1879:22
[INFO] [stdout]      |
[INFO] [stdout] 1879 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1879 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1000:18
[INFO] [stdout]      |
[INFO] [stdout] 1000 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1000 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1003:22
[INFO] [stdout]      |
[INFO] [stdout] 1003 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1003 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1249:18
[INFO] [stdout]      |
[INFO] [stdout] 1249 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1249 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1252:22
[INFO] [stdout]      |
[INFO] [stdout] 1252 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1252 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:2225:18
[INFO] [stdout]      |
[INFO] [stdout] 2225 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2225 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:2228:22
[INFO] [stdout]      |
[INFO] [stdout] 2228 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2228 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1876:18
[INFO] [stdout]      |
[INFO] [stdout] 1876 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1876 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:1879:22
[INFO] [stdout]      |
[INFO] [stdout] 1879 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1879 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:2225:18
[INFO] [stdout]      |
[INFO] [stdout] 2225 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2225 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/raftpb.rs:2228:22
[INFO] [stdout]      |
[INFO] [stdout] 2228 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2228 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/raft.rs:1257:17
[INFO] [stdout]      |
[INFO] [stdout] 1257 |                 if let Some(mut m) = more_to_send {
[INFO] [stdout]      |                             ----^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/raft.rs:1257:17
[INFO] [stdout]      |
[INFO] [stdout] 1257 |                 if let Some(mut m) = more_to_send {
[INFO] [stdout]      |                             ----^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/raft.rs:1864:22
[INFO] [stdout]      |
[INFO] [stdout] 1864 |             let (mut matched, mut next) = (0, self.raft_log.last_index() + 1);
[INFO] [stdout]      |                               ----^^^^
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/raft.rs:1864:22
[INFO] [stdout]      |
[INFO] [stdout] 1864 |             let (mut matched, mut next) = (0, self.raft_log.last_index() + 1);
[INFO] [stdout]      |                               ----^^^^
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/raft.rs:835:23
[INFO] [stdout]     |
[INFO] [stdout] 835 |                     Err(e) => panic!(e),
[INFO] [stdout]     |                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 835 |                     Err(e) => panic!("{}", e),
[INFO] [stdout]     |                                      +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 835 -                     Err(e) => panic!(e),
[INFO] [stdout] 835 +                     Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]     --> src/raft.rs:1660:3
[INFO] [stdout]      |
[INFO] [stdout] 1660 |         mem::replace(&mut self.prs, prs);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]      = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1660 |         let _ = mem::replace(&mut self.prs, prs);
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]     --> src/raft.rs:1672:3
[INFO] [stdout]      |
[INFO] [stdout] 1672 |         mem::replace(&mut self.learner_prs, learner_prs);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1672 |         let _ = mem::replace(&mut self.learner_prs, learner_prs);
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/raft.rs:1734:13
[INFO] [stdout]      |
[INFO] [stdout] 1734 |                     panic!(e)
[INFO] [stdout]      |                            ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1734 |                     panic!("{}", e)
[INFO] [stdout]      |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1734 -                     panic!(e)
[INFO] [stdout] 1734 +                     std::panic::panic_any(e)
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/raft_log.rs:63:32
[INFO] [stdout]    |
[INFO] [stdout] 63 |             Err(err) => panic!(err),
[INFO] [stdout]    |                                ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 63 |             Err(err) => panic!("{}", err),
[INFO] [stdout]    |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 63 -             Err(err) => panic!(err),
[INFO] [stdout] 63 +             Err(err) => std::panic::panic_any(err),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/raft_log.rs:216:33
[INFO] [stdout]     |
[INFO] [stdout] 216 |                     _ => panic!(e),
[INFO] [stdout]     |                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 216 |                     _ => panic!("{}", e),
[INFO] [stdout]     |                                 +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 216 -                     _ => panic!(e),
[INFO] [stdout] 216 +                     _ => std::panic::panic_any(e),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/raft_log.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout] 374 |                 _ => panic!(err),
[INFO] [stdout]     |                             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 374 |                 _ => panic!("{}", err),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 374 -                 _ => panic!(err),
[INFO] [stdout] 374 +                 _ => std::panic::panic_any(err),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/raftpb.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |             instance.get(Entry::new)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 45 -         static mut instance: ::protobuf::lazy::Lazy<Entry> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 45 +         static instance: ::protobuf::lazy::Lazy<Entry> = ::protobuf::lazy::Lazy {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/raftpb.rs:271:13
[INFO] [stdout]     |
[INFO] [stdout] 271 | /             descriptor.get(|| {
[INFO] [stdout] 272 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 273 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
[INFO] [stdout] 274 | |                     "term",
[INFO] [stdout] ...   |
[INFO] [stdout] 298 | |             })
[INFO] [stdout]     | |______________^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 266 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 266 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/raftpb.rs:320:15
[INFO] [stdout]     |
[INFO] [stdout] 320 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 320 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/raftpb.rs:350:13
[INFO] [stdout]     |
[INFO] [stdout] 350 |             instance.get(SnapshotMetadata::new)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 345 -         static mut instance: ::protobuf::lazy::Lazy<SnapshotMetadata> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 345 +         static instance: ::protobuf::lazy::Lazy<SnapshotMetadata> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/raftpb.rs:554:13
[INFO] [stdout]     |
[INFO] [stdout] 554 | / ...   descriptor.get(|| {
[INFO] [stdout] 555 | | ...       let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 556 | | ...       fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage...
[INFO] [stdout] 557 | | ...           "conf_state",
[INFO] [stdout] ...   |
[INFO] [stdout] 576 | | ...   })
[INFO] [stdout]     | |________^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 549 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 549 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/raftpb.rs:597:15
[INFO] [stdout]     |
[INFO] [stdout] 597 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 597 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/raftpb.rs:626:13
[INFO] [stdout]     |
[INFO] [stdout] 626 |             instance.get(Snapshot::new)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 621 -         static mut instance: ::protobuf::lazy::Lazy<Snapshot> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 621 +         static instance: ::protobuf::lazy::Lazy<Snapshot> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/raftpb.rs:801:13
[INFO] [stdout]     |
[INFO] [stdout] 801 | /             descriptor.get(|| {
[INFO] [stdout] 802 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 803 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
[INFO] [stdout] 804 | |                     "data",
[INFO] [stdout] ...   |
[INFO] [stdout] 818 | |             })
[INFO] [stdout]     | |______________^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 796 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 796 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/raftpb.rs:838:15
[INFO] [stdout]     |
[INFO] [stdout] 838 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 838 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/raftpb.rs:867:13
[INFO] [stdout]     |
[INFO] [stdout] 867 |             instance.get(ConfState::new)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 862 -         static mut instance: ::protobuf::lazy::Lazy<ConfState> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 862 +         static instance: ::protobuf::lazy::Lazy<ConfState> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:1025:13
[INFO] [stdout]      |
[INFO] [stdout] 1025 | /             descriptor.get(|| {
[INFO] [stdout] 1026 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 1027 | |                 fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
[INFO] [stdout] 1028 | |                     "nodes",
[INFO] [stdout] ...    |
[INFO] [stdout] 1042 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1020 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1020 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/raftpb.rs:1062:15
[INFO] [stdout]      |
[INFO] [stdout] 1062 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1062 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:1092:13
[INFO] [stdout]      |
[INFO] [stdout] 1092 |             instance.get(HardState::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1087 -         static mut instance: ::protobuf::lazy::Lazy<HardState> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1087 +         static instance: ::protobuf::lazy::Lazy<HardState> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:1274:13
[INFO] [stdout]      |
[INFO] [stdout] 1274 | /             descriptor.get(|| {
[INFO] [stdout] 1275 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 1276 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
[INFO] [stdout] 1277 | |                     "term",
[INFO] [stdout] ...    |
[INFO] [stdout] 1296 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1269 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1269 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/raftpb.rs:1317:15
[INFO] [stdout]      |
[INFO] [stdout] 1317 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1317 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:1356:13
[INFO] [stdout]      |
[INFO] [stdout] 1356 |             instance.get(Message::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1351 -         static mut instance: ::protobuf::lazy::Lazy<Message> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1351 +         static instance: ::protobuf::lazy::Lazy<Message> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:1901:13
[INFO] [stdout]      |
[INFO] [stdout] 1901 | / ...   descriptor.get(|| {
[INFO] [stdout] 1902 | | ...       let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 1903 | | ...       fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Message...
[INFO] [stdout] 1904 | | ...           "msg_type",
[INFO] [stdout] ...    |
[INFO] [stdout] 1968 | | ...   })
[INFO] [stdout]      | |________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1896 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1896 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/raftpb.rs:1998:15
[INFO] [stdout]      |
[INFO] [stdout] 1998 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1998 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:2029:13
[INFO] [stdout]      |
[INFO] [stdout] 2029 |             instance.get(ConfChange::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2024 -         static mut instance: ::protobuf::lazy::Lazy<ConfChange> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2024 +         static instance: ::protobuf::lazy::Lazy<ConfChange> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:2250:13
[INFO] [stdout]      |
[INFO] [stdout] 2250 | /             descriptor.get(|| {
[INFO] [stdout] 2251 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 2252 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
[INFO] [stdout] 2253 | |                     "id",
[INFO] [stdout] ...    |
[INFO] [stdout] 2277 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2245 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2245 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/raftpb.rs:2299:15
[INFO] [stdout]      |
[INFO] [stdout] 2299 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2299 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:2337:13
[INFO] [stdout]      |
[INFO] [stdout] 2337 | /             descriptor.get(|| {
[INFO] [stdout] 2338 | |                 ::protobuf::reflect::EnumDescriptor::new("EntryType", file_descriptor_proto())
[INFO] [stdout] 2339 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2332 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2332 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/raftpb.rs:2354:15
[INFO] [stdout]      |
[INFO] [stdout] 2354 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2354 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:2443:13
[INFO] [stdout]      |
[INFO] [stdout] 2443 | /             descriptor.get(|| {
[INFO] [stdout] 2444 | |                 ::protobuf::reflect::EnumDescriptor::new("MessageType", file_descriptor_proto())
[INFO] [stdout] 2445 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2438 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2438 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/raftpb.rs:2460:15
[INFO] [stdout]      |
[INFO] [stdout] 2460 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2460 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:2504:13
[INFO] [stdout]      |
[INFO] [stdout] 2504 | /             descriptor.get(|| {
[INFO] [stdout] 2505 | |                 ::protobuf::reflect::EnumDescriptor::new("ConfChangeType", file_descriptor_proto())
[INFO] [stdout] 2506 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2499 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2499 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/raftpb.rs:2521:15
[INFO] [stdout]      |
[INFO] [stdout] 2521 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2521 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:2748:9
[INFO] [stdout]      |
[INFO] [stdout] 2748 | /         file_descriptor_proto_lazy.get(|| {
[INFO] [stdout] 2749 | |             parse_descriptor_proto()
[INFO] [stdout] 2750 | |         })
[INFO] [stdout]      | |__________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2737 - static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2737 + static file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::result::Result::<T, E>::is_ok` that must be used
[INFO] [stdout]    --> src/raw_node.rs:329:9
[INFO] [stdout]     |
[INFO] [stdout] 329 |         self.raft.step(m).is_ok();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to assert that this is ok, consider `.unwrap()` instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 329 |         let _ = self.raft.step(m).is_ok();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::result::Result::<T, E>::is_ok` that must be used
[INFO] [stdout]    --> src/raw_node.rs:340:9
[INFO] [stdout]     |
[INFO] [stdout] 340 |         self.raft.step(m).is_ok();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to assert that this is ok, consider `.unwrap()` instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let _ = self.raft.step(m).is_ok();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:198:18
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn read_lock(&self) -> RwLockReadGuard<MemStorageCore> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn read_lock(&self) -> RwLockReadGuard<'_, MemStorageCore> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:202:23
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn write_lock(&self) -> RwLockWriteGuard<MemStorageCore> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn write_lock(&self) -> RwLockWriteGuard<'_, MemStorageCore> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/raft.rs:835:23
[INFO] [stdout]     |
[INFO] [stdout] 835 |                     Err(e) => panic!(e),
[INFO] [stdout]     |                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 835 |                     Err(e) => panic!("{}", e),
[INFO] [stdout]     |                                      +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 835 -                     Err(e) => panic!(e),
[INFO] [stdout] 835 +                     Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]     --> src/raft.rs:1660:3
[INFO] [stdout]      |
[INFO] [stdout] 1660 |         mem::replace(&mut self.prs, prs);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]      = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1660 |         let _ = mem::replace(&mut self.prs, prs);
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]     --> src/raft.rs:1672:3
[INFO] [stdout]      |
[INFO] [stdout] 1672 |         mem::replace(&mut self.learner_prs, learner_prs);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1672 |         let _ = mem::replace(&mut self.learner_prs, learner_prs);
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/raft.rs:1734:13
[INFO] [stdout]      |
[INFO] [stdout] 1734 |                     panic!(e)
[INFO] [stdout]      |                            ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1734 |                     panic!("{}", e)
[INFO] [stdout]      |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1734 -                     panic!(e)
[INFO] [stdout] 1734 +                     std::panic::panic_any(e)
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/raft_log.rs:63:32
[INFO] [stdout]    |
[INFO] [stdout] 63 |             Err(err) => panic!(err),
[INFO] [stdout]    |                                ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 63 |             Err(err) => panic!("{}", err),
[INFO] [stdout]    |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 63 -             Err(err) => panic!(err),
[INFO] [stdout] 63 +             Err(err) => std::panic::panic_any(err),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/raft_log.rs:216:33
[INFO] [stdout]     |
[INFO] [stdout] 216 |                     _ => panic!(e),
[INFO] [stdout]     |                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 216 |                     _ => panic!("{}", e),
[INFO] [stdout]     |                                 +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 216 -                     _ => panic!(e),
[INFO] [stdout] 216 +                     _ => std::panic::panic_any(e),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/raft_log.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout] 374 |                 _ => panic!(err),
[INFO] [stdout]     |                             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 374 |                 _ => panic!("{}", err),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 374 -                 _ => panic!(err),
[INFO] [stdout] 374 +                 _ => std::panic::panic_any(err),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/raft_log.rs:507:34
[INFO] [stdout]     |
[INFO] [stdout] 507 |                 Err(e) => panic!(e),
[INFO] [stdout]     |                                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 507 |                 Err(e) => panic!("{}", e),
[INFO] [stdout]     |                                  +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 507 -                 Err(e) => panic!(e),
[INFO] [stdout] 507 +                 Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/raft_log.rs:635:38
[INFO] [stdout]     |
[INFO] [stdout] 635 |                     Err(e) => panic!(e),
[INFO] [stdout]     |                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 635 |                     Err(e) => panic!("{}", e),
[INFO] [stdout]     |                                      +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 635 -                     Err(e) => panic!(e),
[INFO] [stdout] 635 +                     Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/raft_log.rs:680:30
[INFO] [stdout]     |
[INFO] [stdout] 680 |             Err(e) => panic!(e),
[INFO] [stdout]     |                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 680 |             Err(e) => panic!("{}", e),
[INFO] [stdout]     |                              +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 680 -             Err(e) => panic!(e),
[INFO] [stdout] 680 +             Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/raft_log.rs:748:34
[INFO] [stdout]     |
[INFO] [stdout] 748 |                 Err(e) => panic!(e),
[INFO] [stdout]     |                                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 748 |                 Err(e) => panic!("{}", e),
[INFO] [stdout]     |                                  +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 748 -                 Err(e) => panic!(e),
[INFO] [stdout] 748 +                 Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/raft_log.rs:774:34
[INFO] [stdout]     |
[INFO] [stdout] 774 |                 Err(e) => panic!(e),
[INFO] [stdout]     |                                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 774 |                 Err(e) => panic!("{}", e),
[INFO] [stdout]     |                                  +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 774 -                 Err(e) => panic!(e),
[INFO] [stdout] 774 +                 Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/raftpb.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |             instance.get(Entry::new)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 45 -         static mut instance: ::protobuf::lazy::Lazy<Entry> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 45 +         static instance: ::protobuf::lazy::Lazy<Entry> = ::protobuf::lazy::Lazy {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/raftpb.rs:271:13
[INFO] [stdout]     |
[INFO] [stdout] 271 | /             descriptor.get(|| {
[INFO] [stdout] 272 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 273 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
[INFO] [stdout] 274 | |                     "term",
[INFO] [stdout] ...   |
[INFO] [stdout] 298 | |             })
[INFO] [stdout]     | |______________^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 266 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 266 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/raftpb.rs:320:15
[INFO] [stdout]     |
[INFO] [stdout] 320 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 320 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/raftpb.rs:350:13
[INFO] [stdout]     |
[INFO] [stdout] 350 |             instance.get(SnapshotMetadata::new)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 345 -         static mut instance: ::protobuf::lazy::Lazy<SnapshotMetadata> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 345 +         static instance: ::protobuf::lazy::Lazy<SnapshotMetadata> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/raftpb.rs:554:13
[INFO] [stdout]     |
[INFO] [stdout] 554 | / ...   descriptor.get(|| {
[INFO] [stdout] 555 | | ...       let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 556 | | ...       fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage...
[INFO] [stdout] 557 | | ...           "conf_state",
[INFO] [stdout] ...   |
[INFO] [stdout] 576 | | ...   })
[INFO] [stdout]     | |________^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 549 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 549 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/raftpb.rs:597:15
[INFO] [stdout]     |
[INFO] [stdout] 597 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 597 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/raftpb.rs:626:13
[INFO] [stdout]     |
[INFO] [stdout] 626 |             instance.get(Snapshot::new)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 621 -         static mut instance: ::protobuf::lazy::Lazy<Snapshot> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 621 +         static instance: ::protobuf::lazy::Lazy<Snapshot> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/raftpb.rs:801:13
[INFO] [stdout]     |
[INFO] [stdout] 801 | /             descriptor.get(|| {
[INFO] [stdout] 802 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 803 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
[INFO] [stdout] 804 | |                     "data",
[INFO] [stdout] ...   |
[INFO] [stdout] 818 | |             })
[INFO] [stdout]     | |______________^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 796 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 796 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/raftpb.rs:838:15
[INFO] [stdout]     |
[INFO] [stdout] 838 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 838 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/raftpb.rs:867:13
[INFO] [stdout]     |
[INFO] [stdout] 867 |             instance.get(ConfState::new)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 862 -         static mut instance: ::protobuf::lazy::Lazy<ConfState> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 862 +         static instance: ::protobuf::lazy::Lazy<ConfState> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:1025:13
[INFO] [stdout]      |
[INFO] [stdout] 1025 | /             descriptor.get(|| {
[INFO] [stdout] 1026 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 1027 | |                 fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
[INFO] [stdout] 1028 | |                     "nodes",
[INFO] [stdout] ...    |
[INFO] [stdout] 1042 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1020 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1020 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/raftpb.rs:1062:15
[INFO] [stdout]      |
[INFO] [stdout] 1062 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1062 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:1092:13
[INFO] [stdout]      |
[INFO] [stdout] 1092 |             instance.get(HardState::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1087 -         static mut instance: ::protobuf::lazy::Lazy<HardState> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1087 +         static instance: ::protobuf::lazy::Lazy<HardState> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:1274:13
[INFO] [stdout]      |
[INFO] [stdout] 1274 | /             descriptor.get(|| {
[INFO] [stdout] 1275 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 1276 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
[INFO] [stdout] 1277 | |                     "term",
[INFO] [stdout] ...    |
[INFO] [stdout] 1296 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1269 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1269 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/raftpb.rs:1317:15
[INFO] [stdout]      |
[INFO] [stdout] 1317 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1317 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:1356:13
[INFO] [stdout]      |
[INFO] [stdout] 1356 |             instance.get(Message::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1351 -         static mut instance: ::protobuf::lazy::Lazy<Message> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1351 +         static instance: ::protobuf::lazy::Lazy<Message> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:1901:13
[INFO] [stdout]      |
[INFO] [stdout] 1901 | / ...   descriptor.get(|| {
[INFO] [stdout] 1902 | | ...       let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 1903 | | ...       fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Message...
[INFO] [stdout] 1904 | | ...           "msg_type",
[INFO] [stdout] ...    |
[INFO] [stdout] 1968 | | ...   })
[INFO] [stdout]      | |________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1896 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1896 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/raftpb.rs:1998:15
[INFO] [stdout]      |
[INFO] [stdout] 1998 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1998 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:2029:13
[INFO] [stdout]      |
[INFO] [stdout] 2029 |             instance.get(ConfChange::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2024 -         static mut instance: ::protobuf::lazy::Lazy<ConfChange> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2024 +         static instance: ::protobuf::lazy::Lazy<ConfChange> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:2250:13
[INFO] [stdout]      |
[INFO] [stdout] 2250 | /             descriptor.get(|| {
[INFO] [stdout] 2251 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 2252 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
[INFO] [stdout] 2253 | |                     "id",
[INFO] [stdout] ...    |
[INFO] [stdout] 2277 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2245 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2245 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/raftpb.rs:2299:15
[INFO] [stdout]      |
[INFO] [stdout] 2299 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2299 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:2337:13
[INFO] [stdout]      |
[INFO] [stdout] 2337 | /             descriptor.get(|| {
[INFO] [stdout] 2338 | |                 ::protobuf::reflect::EnumDescriptor::new("EntryType", file_descriptor_proto())
[INFO] [stdout] 2339 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2332 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2332 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/raftpb.rs:2354:15
[INFO] [stdout]      |
[INFO] [stdout] 2354 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2354 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:2443:13
[INFO] [stdout]      |
[INFO] [stdout] 2443 | /             descriptor.get(|| {
[INFO] [stdout] 2444 | |                 ::protobuf::reflect::EnumDescriptor::new("MessageType", file_descriptor_proto())
[INFO] [stdout] 2445 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2438 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2438 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/raftpb.rs:2460:15
[INFO] [stdout]      |
[INFO] [stdout] 2460 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2460 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:2504:13
[INFO] [stdout]      |
[INFO] [stdout] 2504 | /             descriptor.get(|| {
[INFO] [stdout] 2505 | |                 ::protobuf::reflect::EnumDescriptor::new("ConfChangeType", file_descriptor_proto())
[INFO] [stdout] 2506 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2499 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2499 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/raftpb.rs:2521:15
[INFO] [stdout]      |
[INFO] [stdout] 2521 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2521 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/raftpb.rs:2748:9
[INFO] [stdout]      |
[INFO] [stdout] 2748 | /         file_descriptor_proto_lazy.get(|| {
[INFO] [stdout] 2749 | |             parse_descriptor_proto()
[INFO] [stdout] 2750 | |         })
[INFO] [stdout]      | |__________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2737 - static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2737 + static file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::result::Result::<T, E>::is_ok` that must be used
[INFO] [stdout]    --> src/raw_node.rs:329:9
[INFO] [stdout]     |
[INFO] [stdout] 329 |         self.raft.step(m).is_ok();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to assert that this is ok, consider `.unwrap()` instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 329 |         let _ = self.raft.step(m).is_ok();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::result::Result::<T, E>::is_ok` that must be used
[INFO] [stdout]    --> src/raw_node.rs:340:9
[INFO] [stdout]     |
[INFO] [stdout] 340 |         self.raft.step(m).is_ok();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to assert that this is ok, consider `.unwrap()` instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let _ = self.raft.step(m).is_ok();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:198:18
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn read_lock(&self) -> RwLockReadGuard<MemStorageCore> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn read_lock(&self) -> RwLockReadGuard<'_, MemStorageCore> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:202:23
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn write_lock(&self) -> RwLockWriteGuard<MemStorageCore> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn write_lock(&self) -> RwLockWriteGuard<'_, MemStorageCore> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/storage.rs:488:34
[INFO] [stdout]     |
[INFO] [stdout] 488 |                 Err(e) => panic!(e),
[INFO] [stdout]     |                                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 488 |                 Err(e) => panic!("{}", e),
[INFO] [stdout]     |                                  +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 488 -                 Err(e) => panic!(e),
[INFO] [stdout] 488 +                 Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/storage.rs:500:30
[INFO] [stdout]     |
[INFO] [stdout] 500 |             Err(e) => panic!(e),
[INFO] [stdout]     |                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 500 |             Err(e) => panic!("{}", e),
[INFO] [stdout]     |                              +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 500 -             Err(e) => panic!(e),
[INFO] [stdout] 500 +             Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/storage.rs:506:30
[INFO] [stdout]     |
[INFO] [stdout] 506 |             Err(e) => panic!(e),
[INFO] [stdout]     |                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 506 |             Err(e) => panic!("{}", e),
[INFO] [stdout]     |                              +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 506 -             Err(e) => panic!(e),
[INFO] [stdout] 506 +             Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/storage.rs:517:30
[INFO] [stdout]     |
[INFO] [stdout] 517 |             Err(e) => panic!(e),
[INFO] [stdout]     |                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 517 |             Err(e) => panic!("{}", e),
[INFO] [stdout]     |                              +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 517 -             Err(e) => panic!(e),
[INFO] [stdout] 517 +             Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/storage.rs:523:30
[INFO] [stdout]     |
[INFO] [stdout] 523 |             Err(e) => panic!(e),
[INFO] [stdout]     |                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 523 |             Err(e) => panic!("{}", e),
[INFO] [stdout]     |                              +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 523 -             Err(e) => panic!(e),
[INFO] [stdout] 523 +             Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/storage.rs:560:30
[INFO] [stdout]     |
[INFO] [stdout] 560 |             Err(e) => panic!(e),
[INFO] [stdout]     |                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 560 |             Err(e) => panic!("{}", e),
[INFO] [stdout]     |                              +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 560 -             Err(e) => panic!(e),
[INFO] [stdout] 560 +             Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> tests/cases/test_raft.rs:2202:9
[INFO] [stdout]      |
[INFO] [stdout] 2202 |     )]);;
[INFO] [stdout]      |         ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> tests/cases/test_raft.rs:2208:9
[INFO] [stdout]      |
[INFO] [stdout] 2208 |     )]);;
[INFO] [stdout]      |         ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> tests/cases/test_raft.rs:2214:9
[INFO] [stdout]      |
[INFO] [stdout] 2214 |     )]);;
[INFO] [stdout]      |         ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Storage`
[INFO] [stdout]  --> tests/cases/test_raft_flow_control.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | use libraft::storage::{MemStorage, Storage};
[INFO] [stdout]   |                                    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Storage`
[INFO] [stdout]  --> tests/cases/test_raft_snap.rs:2:36
[INFO] [stdout]   |
[INFO] [stdout] 2 | use libraft::storage::{MemStorage, Storage};
[INFO] [stdout]   |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/cases/test_raft.rs:493:13
[INFO] [stdout]     |
[INFO] [stdout] 493 |         let mut p = Progress {
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> tests/cases/test_raft.rs:1583:10
[INFO] [stdout]      |
[INFO] [stdout] 1583 |     for (mut m, wcommit) in tests {
[INFO] [stdout]      |          ----^
[INFO] [stdout]      |          |
[INFO] [stdout]      |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> tests/cases/test_raft.rs:2277:13
[INFO] [stdout]      |
[INFO] [stdout] 2277 |         let mut m = new_message_with_entries(
[INFO] [stdout]      |             ----^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> tests/cases/test_raft.rs:2344:13
[INFO] [stdout]      |
[INFO] [stdout] 2344 |         let mut m = new_message_with_entries(
[INFO] [stdout]      |             ----^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> tests/cases/test_raft.rs:2763:13
[INFO] [stdout]      |
[INFO] [stdout] 2763 |         let mut r = new_test_raft(id, peers, 5, 1, MemStorage::new());
[INFO] [stdout]      |             ----^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> tests/cases/test_raft.rs:2776:13
[INFO] [stdout]      |
[INFO] [stdout] 2776 |         let mut r = new_test_raft(1, ids, 10, 1, MemStorage::new());
[INFO] [stdout]      |             ----^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/cases/test_raft_paper.rs:581:13
[INFO] [stdout]     |
[INFO] [stdout] 581 |         let mut ents = vec![e];
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/cases/test_raft_paper.rs:590:13
[INFO] [stdout]     |
[INFO] [stdout] 590 |         let mut msgs: Vec<Message> = r.msgs.drain(..).collect();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/cases/test_raft_paper.rs:996:13
[INFO] [stdout]     |
[INFO] [stdout] 996 |         let mut msgs: Vec<Message> = r.msgs.drain(..).collect();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_index` is never read
[INFO] [stdout]   --> tests/cases/test_raw_node.rs:72:26
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut last_index = 0;
[INFO] [stdout]    |                          ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 90 |         last_index = s.last_index().unwrap();
[INFO] [stdout]    |         ------------------------------------ `last_index` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Result::<T, E>::is_ok` that must be used
[INFO] [stdout]    --> tests/cases/test_raft.rs:526:5
[INFO] [stdout]     |
[INFO] [stdout] 526 |     r.step(new_message(1, 1, MessageType::MsgHeartbeat)).is_ok();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to assert that this is ok, consider `.unwrap()` instead
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 526 |     let _ = r.step(new_message(1, 1, MessageType::MsgHeartbeat)).is_ok();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Result::<T, E>::is_ok` that must be used
[INFO] [stdout]    --> tests/cases/test_raft.rs:529:5
[INFO] [stdout]     |
[INFO] [stdout] 529 | /     r.step(new_message(2, 1, MessageType::MsgHeartbeatResp))
[INFO] [stdout] 530 | |         .is_ok();
[INFO] [stdout]     | |________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to assert that this is ok, consider `.unwrap()` instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 529 |     let _ = r.step(new_message(2, 1, MessageType::MsgHeartbeatResp))
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Result::<T, E>::is_ok` that must be used
[INFO] [stdout]    --> tests/cases/test_raft.rs:547:5
[INFO] [stdout]     |
[INFO] [stdout] 547 |     r.step(m.clone()).is_ok();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to assert that this is ok, consider `.unwrap()` instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 547 |     let _ = r.step(m.clone()).is_ok();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Result::<T, E>::is_ok` that must be used
[INFO] [stdout]    --> tests/cases/test_raft.rs:548:5
[INFO] [stdout]     |
[INFO] [stdout] 548 |     r.step(m.clone()).is_ok();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to assert that this is ok, consider `.unwrap()` instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 548 |     let _ = r.step(m.clone()).is_ok();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Result::<T, E>::is_ok` that must be used
[INFO] [stdout]    --> tests/cases/test_raft.rs:549:5
[INFO] [stdout]     |
[INFO] [stdout] 549 |     r.step(m).is_ok();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to assert that this is ok, consider `.unwrap()` instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 549 |     let _ = r.step(m).is_ok();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Result::<T, E>::is_ok` that must be used
[INFO] [stdout]    --> tests/cases/test_raft.rs:721:9
[INFO] [stdout]     |
[INFO] [stdout] 721 |         storage.append(&vec![e]).is_ok();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to assert that this is ok, consider `.unwrap()` instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 721 |         let _ = storage.append(&vec![e]).is_ok();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.73s
[INFO] running `Command { std: "docker" "inspect" "87dd65581d1bf86bee6ff1221b73e7fdd6e59c52e75b0b9f088d6015f8be58b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "87dd65581d1bf86bee6ff1221b73e7fdd6e59c52e75b0b9f088d6015f8be58b9", kill_on_drop: false }`
[INFO] [stdout] 87dd65581d1bf86bee6ff1221b73e7fdd6e59c52e75b0b9f088d6015f8be58b9
